Beamforming is a signal processing technique used in sensor arrays for directional signal transmission or reception. Spatial selectivity is achieved by using adaptive or fixed receive/transmit beam patterns.
Beamforming can be used for both electromagnetic waves (e.g., RF) and sound waves, and has found a variety of applications in radar, seismology, sonar, wireless communications, radio astronomy, speech, and medicine. Adaptive beamforming is used to detect and estimate the signal-of-interest at the output of a sensor array using data-adaptive spatial filtering and interference rejection.
One medical application that uses beamforming is for ultrasound diagnostics. Ultrasound energy is focused at target tissue by a transmit beamformer, and ultrasound energy modulated and returned by the target tissue is focused by a receive beamformer. The receive beamformer may provide signals for generation of B-mode images, color Doppler or spectral Doppler information representing the target tissue, or combinations thereof. Such beamforming systems can provide real-time, cross-sectional (tomographic) 2D images of human body tissue or the tissue of another subject.
FIG. 1 shows a simplified block diagram depiction of a conventional delay and sum ultrasound receive beamformer system 100 for imaging target tissue 105. Beamformer system 100 comprises a plurality (M) of transducer elements 112 shown as eight transducer elements 1121-1128 which each comprise separate piezoelectric transducers that convert sound waves echoed by the target tissue 105 into electrical signals. Although only eight (M=8) transducer elements 1121-1128 are shown in FIG. 1, a practical ultrasound receive beamformer system 100 may have many more transducer elements, such as several hundred or more. Separate data processing paths 1151-1158 are seen to be dedicated to each of the transducer elements 1121-1128. The data processing paths 1151-1158 each comprise in serial connection a voltage controlled amplifier (VCA) 116, an analog to digital converter (ADC) 117 for digital conversion of the amplified transducer signal, and an integer delay 118 for adding the integer portion of the desired delay value. A plurality of interpolation filter banks 119 each comprising a plurality of interpolation filters is also provided. The plurality of interpolation filters in each interpolation filter bank 119 provide a plurality of different fractional portions of the desired delay value for each of the data processing paths 1151-1158, since as known in the art the desired delay values are not integer multiples of the ADC sampling period (Ts) because in general the desired timing resolution (Tres) is <Ts.
For conventional ultrasound applications, Tres is generally between 1 to 10 nsec and the Ts of the ADCs 117 is generally from 20 to 200 nsec (corresponding to 50 MHz to 5 MHz operation). Tres thus determines the number of interpolation filters (P) in each interpolation filter bank 119 needed to provide the plurality of different fractional delay portions for each of the dedicated data processing paths 1151-1158 for beamformer system 100. For example, without decimation filtering, P=ceil(Ts/Tres) to achieve the desired Tres, such as P=20 interpolation filters in each interpolation filter bank 119 in the case Ts=20 nsec and Tres=1 nsec. The ceil function returns an integer by rounding its argument towards infinity (upward). Beamformer system 100 thus includes M interpolation filter banks 119, each containing P interpolation filters.
Several methods are known for interpolation filtering, such as Lagrangian, and sinc approximation. The implementation generally assumes a given number of finite impulse response (FIR) filter coefficients. It is usually assumed that the FIR filter coefficients can change on a sample-by-sample-basis. A polyphase interpolation FIR filter is a common implementation that reduces the number of computations required per cycle as compared to a direct implementation of an interpolation filter.
Each of the dedicated data paths 1151-1158 also include an apodization gain block 120 so that each received signal is scaled by a desired value by an apodization factor to reduce the grating side lobe effects in the later formed beamformed signal due to lateral pressure field amplitude variations and the spacing of the transducer elements 1121-1128. Apodization factors can generally be changed on a sample-by-sample basis. An adder 121 sums the respective signals from each of the data paths 1151-1158 provided by the respective apodization gain blocks 120 to generate the desired beamformed signal which can then be used to form an image of the target tissue 105 on a suitable display device.
The conventional delay and sum ultrasound receive beamformer system 100 described above produces effective focal points along a given scanline (e.g., such as the scanline shown in FIG. 1) to focus the receive echoes from portions of target tissue 105 that lie along a given scanline. When the receive beamformer system 100 beamforms more than one scanline, the beamforming is commonly referred to as Multiple Line Acquisition (MLA).
In a conventional beamforming implementation, such as when using conventional delay and sum ultrasound receive beamformer system 100, the response from each of the respective interpolation filter banks 119 from the received signal originating from its single associated transducer element 112 can be written as a summation over the filter coefficients k of the interpolation filters in the interpolation filter banks 119 as:
                                          y            i                    ⁡                      [            n            ]                          =                                            ∑                              k                =                                  -                  ∞                                            ∞                        ⁢                                                            h                                      i                    ⁡                                          (                      n                      )                                                                      ⁡                                  [                  k                  ]                                            ⁢                                                x                  i                                ⁡                                  [                                      n                    -                    k                    -                                                                  d                        i                                            ⁡                                              [                        n                        ]                                                                              ]                                            ⁢                                                          ⁢              for              ⁢                                                          ⁢              0                                ≤          n          ≤                      N            -            1                                              Equation        ⁢                                  ⁢        #1            
Where:                xi[n] is the signal from the ith receive data path channel 1151-1158 at time sample n.        hi(n)[k] is the kth coefficient of the respective interpolation filter for the ith receive channel at time sample n.        yi[n] is the filtered signal for the ith receive data path channel 1151-1158 at time sample n.        di[n] is the integer delay for ith receive data path channel 1151-1158 at time sample n.        
It is noted that this filtering operation is piece-wise linear, i.e. at each sample instance n, the output of interpolation filter bank 119 is a linear combination of input samples. The beamformed signal response for a single scanline is found by summing (e.g., using summer 121) the responses from each of the data paths 1151-1158 after processing by apodization gain blocks 120 to represent signals from all M receive transducer elements 1121-1128, which can be expressed as:
                              z          ⁡                      [            n            ]                          =                              ∑                          m              =              0                                      M              -              1                                ⁢                                                    a                m                            ⁡                              [                n                ]                                      ⁢                                          ∑                                  k                  =                                      -                    ∞                                                  ∞                            ⁢                                                                    h                                          m                      ⁡                                              (                        n                        )                                                                              ⁡                                      [                    k                    ]                                                  ⁢                                                      x                    m                                    ⁡                                      [                                          n                      -                      k                      -                                                                        d                          m                                                ⁡                                                  [                          n                          ]                                                                                      ]                                                                                                          Equation        ⁢                                  ⁢        #2            Where am[n] is the apodization factor for the mth receive signal at time sample n, and z[n] is the beamformed received signal at time sample n.
A measure of computational complexity for receive beamformers can be found by calculating the number of multiplies (referred to herein as numMults) needed for implementing the beamforming operation. To calculate z[n] as shown above, numMults is given by Equation 3 shown below:numMults=L·M·(K+1)·N  Equation # 3Where K is the number of filter coefficients per interpolation filter, L is the number of MLAs, M is the number of receive transducer elements and N is the number of output samples. The numMults required in a beamformer algorithm determines the gate count in an IC implementation, and as a result the power dissipation and thus the cooling requirements for a given implementation. Due to the high numMults required for implementing the algorithm used by conventional beamformer data architecture, such as implemented by the delay and sum ultrasound receive beamformer system 100 shown in FIG. 1, such conventional beamformers have generally been limited to ASIC implementations and have had to significantly limit the number of data channels and thus the spatial resolution provided.